﻿<!DOCTYPE html>
<html ng-app="demoApp" lang="en">
<head>
    <script type="text/javascript" src="../../../scripts/demos.js"></script>
    <title id='Description'>AngularJS Chart Flip Category Axis and Value Axis</title>
   <meta name="description" content="This is an example of AngularJS Chart. Chart Flip Axis." />		
    <link rel="stylesheet" type="text/css" href="../../../jqwidgets/styles/jqx.base.css" />
    <script type="text/javascript" src="../../../scripts/angular.min.js"></script> <script type="text/javascript" src="../../../scripts/jquery-1.11.1.min.js"></script>
    <script type="text/javascript" src="../../../jqwidgets/jqxcore.js"></script>
    <script type="text/javascript" src="../../../jqwidgets/jqxdata.js"></script>
    <script type="text/javascript" src="../../../jqwidgets/jqxcheckbox.js"></script>
    <script type="text/javascript" src="../../../jqwidgets/jqxdraw.js"></script>
    <script type="text/javascript" src="../../../jqwidgets/jqxchart.core.js"></script><script type="text/javascript" src="../../../jqwidgets/jqxangular.js"></script>
    <script type="text/javascript" src="../../../scripts/demos.js"></script>
    <script type="text/javascript">
        var demoApp = angular.module("demoApp", ["jqwidgets"]);
        demoApp.controller("demoController", function ($scope) {
            
            // prepare chart data as an array
            var sampleData = [
                    { Day: 'Monday', Running: 30, Swimming: 0, Cycling: 25, Goal: 40 },
                    { Day: 'Tuesday', Running: 25, Swimming: 25, Cycling: 0, Goal: 50 },
                    { Day: 'Wednesday', Running: 30, Swimming: 0, Cycling: 25, Goal: 60 },
                    { Day: 'Thursday', Running: 20, Swimming: 20, Cycling: 25, Goal: 40 },
                    { Day: 'Friday', Running: 0, Swimming: 20, Cycling: 25, Goal: 50 },
                    { Day: 'Saturday', Running: 30, Swimming: 0, Cycling: 30, Goal: 60 },
                    { Day: 'Sunday', Running: 20, Swimming: 40, Cycling: 0, Goal: 90 }
                ];

            // prepare jqxChart settings
            var settings = {
                created: function(args)
                {
                    $scope.chart = args.instance;
                },
                title: "Fitness & exercise weekly scorecard",
                description: "Time spent in vigorous exercise by activity",
                enableAnimations: true,
                showLegend: true,
                padding: { left: 5, top: 5, right: 5, bottom: 5 },
                titlePadding: { left: 90, top: 0, right: 0, bottom: 10 },
                source: sampleData,
                xAxis:
                    {
                        dataField: 'Day',
                        showTickMarks: true,
                        tickMarksInterval: 1,
                        tickMarksColor: '#888888',
                        unitInterval: 1,
                        showGridLines: false,
                        gridLinesInterval: 1,
                        gridLinesColor: '#888888',
                        axisSize: 'auto'
                    },
                colorScheme: 'scheme01',
                seriesGroups:
                    [
                        {
                            type: 'stackedcolumn',
                            columnsGapPercent: 100,
                            seriesGapPercent: 5,
                            valueAxis:
                            {
                                unitInterval: 10,
                                minValue: 0,
                                maxValue: 100,
                                displayValueAxis: true,
                                description: 'Time in minutes',
                                axisSize: 'auto',
                                tickMarksColor: '#888888',
                                gridLinesColor: '#777777'
                            },
                            series: [
                                    { dataField: 'Running', displayText: 'Running' },
                                    { dataField: 'Swimming', displayText: 'Swimming' },
                                    { dataField: 'Cycling', displayText: 'Cycling' }
                                ]
                        }
                    ]
            };

            $scope.chartSettings = settings;
            var refreshChart = function () {
                $scope.chart.enableAnimations = false;
                $scope.chart.refresh();
            }
            // update greyScale values.
            $scope.FlipValueAxis = function (event) {
                $scope.chart.seriesGroups[0].valueAxis.flip = event.args.checked;
                refreshChart();
            };

            $scope.FlipCategoryAxis = function (event) {
                $scope.chart.xAxis.flip = event.args.checked;
                refreshChart();
            };
        });
    </script>
</head>
<body ng-controller="demoController">
    <jqx-chart jqx-settings="chartSettings" style="width: 850px; height: 500px">
    </jqx-chart>
    <div style='margin-top: 10px;'>
        <div style='float: left;'>
            <jqx-check-box jqx-on-change='FlipValueAxis(event)'>Flip Value Axis</jqx-check-box>
            <jqx-check-box style='margin-top: 5px;' jqx-on-change='FlipCategoryAxis(event)'>Flip Category Axis</jqx-check-box>
        </div>
    </div>
</body>
</html>
